home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / info / gnus.info-9.z / gnus.info-9
Encoding:
GNU Info File  |  1998-05-21  |  47.5 KB  |  1,290 lines

  1. This is Info file ../info/gnus.info, produced by Makeinfo version 1.68
  2. from the input file gnus.texi.
  3.  
  4.    This file documents Gnus, the GNU Emacs newsreader.
  5.  
  6.    Copyright (C) 1995,96 Free Software Foundation, Inc.
  7.  
  8.    Permission is granted to make and distribute verbatim copies of this
  9. manual provided the copyright notice and this permission notice are
  10. preserved on all copies.
  11.  
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided also
  14. that the entire resulting derived work is distributed under the terms
  15. of a permission notice identical to this one.
  16.  
  17.    Permission is granted to copy and distribute translations of this
  18. manual into another language, under the above conditions for modified
  19. versions.
  20.  
  21. 
  22. File: gnus.info,  Node: NoCeM,  Next: Undo,  Prev: Daemons,  Up: Various
  23.  
  24. NoCeM
  25. =====
  26.  
  27.    "Spamming" is posting the same article lots and lots of times.
  28. Spamming is bad.  Spamming is evil.
  29.  
  30.    Spamming is usually canceled within a day or so by various
  31. anti-spamming agencies.  These agencies usually also send out "NoCeM"
  32. messages.  NoCeM is pronounced "no see-'em", and means what the name
  33. implies--these are messages that make the offending articles, like, go
  34. away.
  35.  
  36.    What use are these NoCeM messages if the articles are canceled
  37. anyway?  Some sites do not honor cancel messages and some sites just
  38. honor cancels from a select few people.  Then you may wish to make use
  39. of the NoCeM messages, which are distributed in the `alt.nocem.misc'
  40. newsgroup.
  41.  
  42.    Gnus can read and parse the messages in this group automatically, and
  43. this will make spam disappear.
  44.  
  45.    There are some variables to customize, of course:
  46.  
  47. `gnus-use-nocem'
  48.      Set this variable to `t' to set the ball rolling.  It is `nil' by
  49.      default.
  50.  
  51. `gnus-nocem-groups'
  52.      Gnus will look for NoCeM messages in the groups in this list.  The
  53.      default is `("news.lists.filters" "news.admin.net-abuse.bulletins"
  54.      "alt.nocem.misc" "news.admin.net-abuse.announce")'.
  55.  
  56. `gnus-nocem-issuers'
  57.      There are many people issuing NoCeM messages.  This list says what
  58.      people you want to listen to.  The default is `("Automoose-1"
  59.      "clewis@ferret.ocunix.on.ca;" "jem@xpat.com;"
  60.      "red@redpoll.mrfs.oh.us (Richard E. Depew)")'; fine, upstanding
  61.      citizens all of them.
  62.  
  63.      Known despammers that you can put in this list include:
  64.  
  65.     `clewis@ferret.ocunix.on.ca;'
  66.           Chris Lewis--Major Canadian despammer who has probably
  67.           canceled more usenet abuse than anybody else.
  68.  
  69.     `Automoose-1'
  70.           The CancelMoose[tm] on autopilot.  The CancelMoose[tm] is
  71.           reputed to be Norwegian, and was the person(s) who invented
  72.           NoCeM.
  73.  
  74.     `jem@xpat.com;'
  75.           John Milburn--despammer located in Korea who is getting very
  76.           busy these days.
  77.  
  78.     `red@redpoll.mrfs.oh.us (Richard E. Depew)'
  79.           Richard E. Depew--lone American despammer.  He mostly cancels
  80.           binary postings to non-binary groups and removes spews
  81.           (regurgitated articles).
  82.  
  83.      You do not have to heed NoCeM messages from all these people--just
  84.      the ones you want to listen to.
  85.  
  86. `gnus-nocem-verifyer'
  87.      This should be a function for verifying that the NoCeM issuer is
  88.      who she says she is.  The default is `mc-verify', which is a
  89.      Mailcrypt function.  If this is too slow and you don't care for
  90.      verification (which may be dangerous), you can set this variable
  91.      to `nil'.
  92.  
  93.      If you want signed NoCeM messages to be verified and unsigned
  94.      messages not to be verified (but used anyway), you could do
  95.      something like:
  96.  
  97.           (setq gnus-nocem-verifyer 'my-gnus-mc-verify)
  98.           
  99.           (defun my-gnus-mc-verify ()
  100.             (not (eq 'forged
  101.                      (ignore-errors
  102.                        (if (mc-verify)
  103.                            t
  104.                          'forged)))))
  105.  
  106.      This might be dangerous, though.
  107.  
  108. `gnus-nocem-directory'
  109.      This is where Gnus will store its NoCeM cache files.  The default
  110.      is `~/News/NoCeM/'.
  111.  
  112. `gnus-nocem-expiry-wait'
  113.      The number of days before removing old NoCeM entries from the
  114.      cache.  The default is 15.  If you make it shorter Gnus will be
  115.      faster, but you might then see old spam.
  116.  
  117.    Using NoCeM could potentially be a memory hog.  If you have many
  118. living (i. e., subscribed or unsubscribed groups), your Emacs process
  119. will grow big.  If this is a problem, you should kill off all (or most)
  120. of your unsubscribed groups (*note Subscription Commands::.).
  121.  
  122. 
  123. File: gnus.info,  Node: Undo,  Next: Moderation,  Prev: NoCeM,  Up: Various
  124.  
  125. Undo
  126. ====
  127.  
  128.    It is very useful to be able to undo actions one has done.  In normal
  129. Emacs buffers, it's easy enough--you just push the `undo' button.  In
  130. Gnus buffers, however, it isn't that simple.
  131.  
  132.    The things Gnus displays in its buffer is of no value whatsoever to
  133. Gnus--it's all just data designed to look nice to the user.  Killing a
  134. group in the group buffer with `C-k' makes the line disappear, but
  135. that's just a side-effect of the real action--the removal of the group
  136. in question from the internal Gnus structures.  Undoing something like
  137. that can't be done by the normal Emacs `undo' function.
  138.  
  139.    Gnus tries to remedy this somewhat by keeping track of what the user
  140. does and coming up with actions that would reverse the actions the user
  141. takes.  When the user then presses the `undo' key, Gnus will run the
  142. code to reverse the previous action, or the previous actions.  However,
  143. not all actions are easily reversible, so Gnus currently offers a few
  144. key functions to be undoable.  These include killing groups, yanking
  145. groups, and changing the list of read articles of groups.  That's it,
  146. really.  More functions may be added in the future, but each added
  147. function means an increase in data to be stored, so Gnus will never be
  148. totally undoable.
  149.  
  150.    The undoability is provided by the `gnus-undo-mode' minor mode.  It
  151. is used if `gnus-use-undo' is non-`nil', which is the default.  The
  152. `M-C-_' key performs the `gnus-undo' command command, which should feel
  153. kinda like the normal Emacs `undo' command.
  154.  
  155. 
  156. File: gnus.info,  Node: Moderation,  Next: XEmacs Enhancements,  Prev: Undo,  Up: Various
  157.  
  158. Moderation
  159. ==========
  160.  
  161.    If you are a moderator, you can use the `gnus-mdrtn.el' package.  It
  162. is not included in the standard Gnus package.  Write a mail to
  163. `larsi@gnus.org' and state what group you moderate, and you'll get a
  164. copy.
  165.  
  166.    The moderation package is implemented as a minor mode for summary
  167. buffers.  Put
  168.  
  169.      (add-hook 'gnus-summary-mode-hook 'gnus-moderate)
  170.  
  171.    in your `.gnus.el' file.
  172.  
  173.    If you are the moderator of `rec.zoofle', this is how it's supposed
  174. to work:
  175.  
  176.   1. You split your incoming mail by matching on
  177.      `Newsgroups:.*rec.zoofle', which will put all the to-be-posted
  178.      articles in some mail group--for instance, `nnml:rec.zoofle'.
  179.  
  180.   2. You enter that group once in a while and post articles using the
  181.      `e' (edit-and-post) or `s' (just send unedited) commands.
  182.  
  183.   3. If, while reading the `rec.zoofle' newsgroup, you happen upon some
  184.      articles that weren't approved by you, you can cancel them with the
  185.      `c' command.
  186.  
  187.    To use moderation mode in these two groups, say:
  188.  
  189.      (setq gnus-moderated-list
  190.            "^nnml:rec.zoofle$\\|^rec.zoofle$")
  191.  
  192. 
  193. File: gnus.info,  Node: XEmacs Enhancements,  Next: Fuzzy Matching,  Prev: Moderation,  Up: Various
  194.  
  195. XEmacs Enhancements
  196. ===================
  197.  
  198.    XEmacs is able to display pictures and stuff, so Gnus has taken
  199. advantage of that.
  200.  
  201. * Menu:
  202.  
  203. * Picons::    How to display pictures of what your reading.
  204. * Smileys::   Show all those happy faces the way they were meant to be shown.
  205. * Toolbar::   Click'n'drool.
  206. * XVarious::  Other XEmacsy Gnusey variables.
  207.  
  208. 
  209. File: gnus.info,  Node: Picons,  Next: Smileys,  Up: XEmacs Enhancements
  210.  
  211. Picons
  212. ------
  213.  
  214.    So...  You want to slow down your news reader even more!  This is a
  215. good way to do so.  Its also a great way to impress people staring over
  216. your shoulder as you read news.
  217.  
  218. * Menu:
  219.  
  220. * Picon Basics::           What are picons and How do I get them.
  221. * Picon Requirements::     Don't go further if you aren't using XEmacs.
  222. * Easy Picons::            Displaying Picons--the easy way.
  223. * Hard Picons::            The way you should do it.  You'll learn something.
  224. * Picon Configuration::    Other variables you can trash/tweak/munge/play with.
  225.  
  226. 
  227. File: gnus.info,  Node: Picon Basics,  Next: Picon Requirements,  Up: Picons
  228.  
  229. Picon Basics
  230. ............
  231.  
  232.    What are Picons?  To quote directly from the Picons Web site:
  233.  
  234.      "Picons" is short for "personal icons".  They're small,
  235.      constrained images used to represent users and domains on the net,
  236.      organized into databases so that the appropriate image for a given
  237.      e-mail address can be found.  Besides users and domains, there are
  238.      picon databases for Usenet newsgroups and weather forecasts.  The
  239.      picons are in either monochrome `XBM' format or color `XPM' and
  240.      `GIF' formats.
  241.  
  242.    For instructions on obtaining and installing the picons databases,
  243. point your Web browser at
  244. `http://www.cs.indiana.edu/picons/ftp/index.html'.
  245.  
  246.    Gnus expects picons to be installed into a location pointed to by
  247. `gnus-picons-database'.
  248.  
  249. 
  250. File: gnus.info,  Node: Picon Requirements,  Next: Easy Picons,  Prev: Picon Basics,  Up: Picons
  251.  
  252. Picon Requirements
  253. ..................
  254.  
  255.    To have Gnus display Picons for you, you must be running XEmacs
  256. 19.13 or greater since all other versions of Emacs aren't yet able to
  257. display images.
  258.  
  259.    Additionally, you must have `xpm' support compiled into XEmacs.
  260.  
  261.    If you want to display faces from `X-Face' headers, you must have
  262. the `netpbm' utilities installed, or munge the
  263. `gnus-picons-convert-x-face' variable to use something else.
  264.  
  265. 
  266. File: gnus.info,  Node: Easy Picons,  Next: Hard Picons,  Prev: Picon Requirements,  Up: Picons
  267.  
  268. Easy Picons
  269. ...........
  270.  
  271.    To enable displaying picons, simply put the following line in your
  272. `~/.gnus' file and start Gnus.
  273.  
  274.      (setq gnus-use-picons t)
  275.      (add-hook 'gnus-article-display-hook 'gnus-article-display-picons t)
  276.      (add-hook 'gnus-summary-prepare-hook 'gnus-group-display-picons t)
  277.      (add-hook 'gnus-article-display-hook 'gnus-picons-article-display-x-face)
  278.  
  279. 
  280. File: gnus.info,  Node: Hard Picons,  Next: Picon Configuration,  Prev: Easy Picons,  Up: Picons
  281.  
  282. Hard Picons
  283. ...........
  284.  
  285.    Gnus can display picons for you as you enter and leave groups and
  286. articles.  It knows how to interact with three sections of the picons
  287. database.  Namely, it can display the picons newsgroup pictures,
  288. author's face picture(s), and the authors domain.  To enable this
  289. feature, you need to first decide where to display them.
  290.  
  291. `gnus-picons-display-where'
  292.      Where the picon images should be displayed.  It is `picons' by
  293.      default (which by default maps to the buffer `*Picons*').  Other
  294.      valid places could be `article', `summary', or `*scratch*' for all
  295.      I care.  Just make sure that you've made the buffer visible using
  296.      the standard Gnus window configuration routines--*note Windows
  297.      Configuration::..
  298.  
  299.    Note: If you set `gnus-use-picons' to `t', it will set up your
  300. window configuration for you to include the `picons' buffer.
  301.  
  302.    Now that you've made that decision, you need to add the following
  303. functions to the appropriate hooks so these pictures will get displayed
  304. at the right time.
  305.  
  306. `gnus-article-display-picons'
  307.      Looks up and displays the picons for the author and the author's
  308.      domain in the `gnus-picons-display-where' buffer.  Should be added
  309.      to the `gnus-article-display-hook'.
  310.  
  311. `gnus-group-display-picons'
  312.      Displays picons representing the current group.  This function
  313.      should be added to the `gnus-summary-prepare-hook' or to the
  314.      `gnus-article-display-hook' if `gnus-picons-display-where' is set
  315.      to `article'.
  316.  
  317. `gnus-picons-article-display-x-face'
  318.      Decodes and displays the X-Face header if present.  This function
  319.      should be added to `gnus-article-display-hook'.
  320.  
  321.    Note:  You must append them to the hook, so make sure to specify 't'
  322. for the append flag of `add-hook':
  323.  
  324.      (add-hook 'gnus-article-display-hook 'gnus-article-display-picons t)
  325.  
  326. 
  327. File: gnus.info,  Node: Picon Configuration,  Prev: Hard Picons,  Up: Picons
  328.  
  329. Picon Configuration
  330. ...................
  331.  
  332.    The following variables offer further control over how things are
  333. done, where things are located, and other useless stuff you really
  334. don't need to worry about.
  335.  
  336. `gnus-picons-database'
  337.      The location of the picons database.  Should point to a directory
  338.      containing the `news', `domains', `users' (and so on)
  339.      subdirectories.  Defaults to `/usr/local/faces'.
  340.  
  341. `gnus-picons-news-directory'
  342.      Sub-directory of the faces database containing the icons for
  343.      newsgroups.
  344.  
  345. `gnus-picons-user-directories'
  346.      List of subdirectories to search in `gnus-picons-database' for user
  347.      faces.  `("local" "users" "usenix" "misc")' is the default.
  348.  
  349. `gnus-picons-domain-directories'
  350.      List of subdirectories to search in `gnus-picons-database' for
  351.      domain name faces.  Defaults to `("domains")'.  Some people may
  352.      want to add `unknown' to this list.
  353.  
  354. `gnus-picons-convert-x-face'
  355.      The command to use to convert the `X-Face' header to an X bitmap
  356.      (`xbm').  Defaults to `(format "{ echo '/* Width=48, Height=48
  357.      */'; uncompface; } | icontopbm | pbmtoxbm > %s"
  358.      gnus-picons-x-face-file-name)'
  359.  
  360. `gnus-picons-x-face-file-name'
  361.      Names a temporary file to store the `X-Face' bitmap in.  Defaults
  362.      to `(format "/tmp/picon-xface.%s.xbm" (user-login-name))'.
  363.  
  364. `gnus-picons-buffer'
  365.      The name of the buffer that `picons' points to.  Defaults to
  366.      `*Icon Buffer*'.
  367.  
  368. 
  369. File: gnus.info,  Node: Smileys,  Next: Toolbar,  Prev: Picons,  Up: XEmacs Enhancements
  370.  
  371. Smileys
  372. -------
  373.  
  374.    "Smiley" is a package separate from Gnus, but since Gnus is
  375. currently the only package that uses Smiley, it is documented here.
  376.  
  377.    In short--to use Smiley in Gnus, put the following in your
  378. `.gnus.el' file:
  379.  
  380.      (add-hook 'gnus-article-display-hook 'gnus-smiley-display t)
  381.  
  382.    Smiley maps text smiley faces--`:-)', `:-=', `:-(' and the like--to
  383. pictures and displays those instead of the text smiley faces.  The
  384. conversion is controlled by a list of regexps that matches text and
  385. maps that to file names.
  386.  
  387.    Smiley supplies two example conversion alists by default:
  388. `smiley-deformed-regexp-alist' (which matches `:)', `:(' and so on),
  389. and `smiley-nosey-regexp-alist' (which matches `:-)', `:-(' and so on).
  390.  
  391.    The alist used is specified by the `smiley-regexp-alist' variable,
  392. which defaults to the value of `smiley-deformed-regexp-alist'.
  393.  
  394.    Here's the default value of `smiley-smiley-regexp-alist':
  395.  
  396.      (setq smiley-nosey-regexp-alist
  397.            '(("\\(:-+[<½]+\\)\\W" 1 "FaceAngry.xpm")
  398.              ("\\(:-+\\]+\\)\\W" 1 "FaceGoofy.xpm")
  399.              ("\\(:-+D\\)\\W" 1 "FaceGrinning.xpm")
  400.              ("\\(:-+[}╗]+\\)\\W" 1 "FaceHappy.xpm")
  401.              ("\\(:-*)+\\)\\W" 1 "FaceHappy.xpm")
  402.              ("\\(:-+[/\\\"]+\\)\\W" 1 "FaceIronic.xpm")
  403.              ("\\([8|]-+[|Oo%]\\)\\W" 1 "FaceKOed.xpm")
  404.              ("\\([:|]-+#+\\)\\W" 1 "FaceNyah.xpm")
  405.              ("\\(:-+[({]+\\)\\W" 1 "FaceSad.xpm")
  406.              ("\\(:-+[Oo\*]\\)\\W" 1 "FaceStartled.xpm")
  407.              ("\\(:-+|\\)\\W" 1 "FaceStraight.xpm")
  408.              ("\\(:-+p\\)\\W" 1 "FaceTalking.xpm")
  409.              ("\\(:-+d\\)\\W" 1 "FaceTasty.xpm")
  410.              ("\\(;-+[>)}╗]+\\)\\W" 1 "FaceWinking.xpm")
  411.              ("\\(:-+[Vv╡]\\)\\W" 1 "FaceWry.xpm")
  412.              ("\\(][:8B]-[)>]\\)\\W" 1 "FaceDevilish.xpm")
  413.              ("\\([:|]-+P\\)\\W" 1 "FaceYukky.xpm")))
  414.  
  415.    The first item in each element is the regexp to be matched; the
  416. second element is the regexp match group that is to be replaced by the
  417. picture; and the third element is the name of the file to be displayed.
  418.  
  419.    The following variables customize where Smiley will look for these
  420. files, as well as the color to be used and stuff:
  421.  
  422. `smiley-data-directory'
  423.      Where Smiley will look for smiley faces files.
  424.  
  425. `smiley-flesh-color'
  426.      Skin color.  The default is `yellow', which is really racist.
  427.  
  428. `smiley-features-color'
  429.      Color of the features of the face.  The default is `black'.
  430.  
  431. `smiley-tongue-color'
  432.      Color of the tongue.  The default is `red'.
  433.  
  434. `smiley-circle-color'
  435.      Color of the circle around the face.  The default is `black'.
  436.  
  437. `smiley-mouse-face'
  438.      Face used for mouse highlighting over the smiley face.
  439.  
  440. 
  441. File: gnus.info,  Node: Toolbar,  Next: XVarious,  Prev: Smileys,  Up: XEmacs Enhancements
  442.  
  443. Toolbar
  444. -------
  445.  
  446. `gnus-use-toolbar'
  447.      If `nil', don't display toolbars.  If non-`nil', it should be one
  448.      of `default-toolbar', `top-toolbar', `bottom-toolbar',
  449.      `right-toolbar', or `left-toolbar'.
  450.  
  451. `gnus-group-toolbar'
  452.      The toolbar in the group buffer.
  453.  
  454. `gnus-summary-toolbar'
  455.      The toolbar in the summary buffer.
  456.  
  457. `gnus-summary-mail-toolbar'
  458.      The toolbar in the summary buffer of mail groups.
  459.  
  460. 
  461. File: gnus.info,  Node: XVarious,  Prev: Toolbar,  Up: XEmacs Enhancements
  462.  
  463. Various XEmacs Variables
  464. ------------------------
  465.  
  466. `gnus-xmas-glyph-directory'
  467.      This is where Gnus will look for pictures.  Gnus will normally
  468.      auto-detect this directory, but you may set it manually if you
  469.      have an unusual directory structure.
  470.  
  471. `gnus-xmas-logo-color-alist'
  472.      This is an alist where the key is a type symbol and the values are
  473.      the foreground and background color of the splash page glyph.
  474.  
  475. `gnus-xmas-logo-color-style'
  476.      This is the key used to look up the color in the alist described
  477.      above.  Legal values include `flame', `pine', `moss', `irish',
  478.      `sky', `tin', `velvet', `grape', `labia', `berry', `neutral', and
  479.      `september'.
  480.  
  481. `gnus-xmas-modeline-glyph'
  482.      A glyph displayed in all Gnus mode lines.  It is a tiny gnu head by
  483.      default.
  484.  
  485. 
  486. File: gnus.info,  Node: Fuzzy Matching,  Next: Thwarting Email Spam,  Prev: XEmacs Enhancements,  Up: Various
  487.  
  488. Fuzzy Matching
  489. ==============
  490.  
  491.    Gnus provides "fuzzy matching" of `Subject' lines when doing things
  492. like scoring, thread gathering and thread comparison.
  493.  
  494.    As opposed to regular expression matching, fuzzy matching is very
  495. fuzzy.  It's so fuzzy that there's not even a definition of what
  496. "fuzziness" means, and the implementation has changed over time.
  497.  
  498.    Basically, it tries to remove all noise from lines before comparing.
  499. `Re: ', parenthetical remarks, white space, and so on, are filtered out
  500. of the strings before comparing the results.  This often leads to
  501. adequate results--even when faced with strings generated by text
  502. manglers masquerading as newsreaders.
  503.  
  504. 
  505. File: gnus.info,  Node: Thwarting Email Spam,  Next: Various Various,  Prev: Fuzzy Matching,  Up: Various
  506.  
  507. Thwarting Email Spam
  508. ====================
  509.  
  510.    In these last days of the Usenet, commercial vultures are hanging
  511. about and grepping through news like crazy to find email addresses they
  512. can foist off their scams and products to.  As a reaction to this, many
  513. people have started putting nonsense addresses into their `From' lines.
  514. I think this is counterproductive--it makes it difficult for people to
  515. send you legitimate mail in response to things you write, as well as
  516. making it difficult to see who wrote what.  This rewriting may perhaps
  517. be a bigger menace than the unsolicited commercial email itself in the
  518. end.
  519.  
  520.    The biggest problem I have with email spam is that it comes in under
  521. false pretenses.  I press `g' and Gnus merrily informs me that I have
  522. 10 new emails.  I say "Golly gee!  Happy is me!" and select the mail
  523. group, only to find two pyramid schemes, seven advertisements ("New!
  524. Miracle tonic for growing full, lustrouos hair on your toes!")  and one
  525. mail asking me to repent and find some god.
  526.  
  527.    This is annoying.
  528.  
  529.    The way to deal with this is having Gnus split out all spam into a
  530. `spam' mail group (*note Splitting Mail::.).
  531.  
  532.    First, pick one (1) legal mail address that you can be reached at,
  533. and put it in your `From' header of all your news articles.  (I've
  534. chosen `larsi@trym.ifi.uio.no', but for many addresses on the form
  535. `larsi+usenet@ifi.uio.no' will be a better choice.  Ask your sysadm
  536. whether your sendmail installation accepts keywords in the local part
  537. of the mail address.)
  538.  
  539.      (setq message-default-news-headers
  540.            "From: Lars Magne Ingebrigtsen <larsi@trym.ifi.uio.no>\n")
  541.  
  542.    Then put the following split rule in `nnmail-split-fancy' (*note
  543. Fancy Mail Splitting::.):
  544.  
  545.      (
  546.       ...
  547.       (to "larsi@trym.ifi.uio.no"
  548.            (| ("subject" "re:.*" "misc")
  549.               ("references" ".*@.*" "misc")
  550.               "spam"))
  551.       ...
  552.      )
  553.  
  554.    This says that all mail to this address is suspect, but if it has a
  555. `Subject' that starts with a `Re:' or has a `References' header, it's
  556. probably ok.  All the rest goes to the `spam' group.  (This idea
  557. probably comes from Tim Pierce.)
  558.  
  559.    In addition, many mail spammers talk directly to your `smtp' server
  560. and do not include your email address explicitly in the `To' header.
  561. Why they do this is unknown--perhaps it's to thwart this twarting
  562. scheme?  In any case, this is trivial to deal with--you just put
  563. anything not addressed to you in the `spam' group by ending your fancy
  564. split rule in this way:
  565.  
  566.      (
  567.       ...
  568.       (to "larsi" "misc")
  569.       "spam")
  570.  
  571.    In my experience, this will sort virtually everything into the right
  572. group.  You still have to check the `spam' group from time to time to
  573. check for legitimate mail, though.  If you feel like being a good net
  574. citizen, you can even send off complaints to the proper authorities on
  575. each unsolicited commercial email--at your leisure.
  576.  
  577.    If you are also a lazy net citizen, you will probably prefer
  578. complaining automatically with the `gnus-junk.el' package, availiable
  579. FOR FREE at `<URL:http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html>'.
  580. Since most e-mail spam is sent automatically, this may reconcile the
  581. cosmic balance somewhat.
  582.  
  583.    This works for me.  It allows people an easy way to contact me (they
  584. can just press `r' in the usual way), and I'm not bothered at all with
  585. spam.  It's a win-win situation.  Forging `From' headers to point to
  586. non-existant domains is yucky, in my opinion.
  587.  
  588. 
  589. File: gnus.info,  Node: Various Various,  Prev: Thwarting Email Spam,  Up: Various
  590.  
  591. Various Various
  592. ===============
  593.  
  594. `gnus-home-directory'
  595.      All Gnus path variables will be initialized from this variable,
  596.      which defaults to `~/'.
  597.  
  598. `gnus-directory'
  599.      Most Gnus storage path variables will be initialized from this
  600.      variable, which defaults to the `SAVEDIR' environment variable, or
  601.      `~/News/' if that variable isn't set.
  602.  
  603. `gnus-default-directory'
  604.      Not related to the above variable at all--this variable says what
  605.      the default directory of all Gnus buffers should be.  If you issue
  606.      commands like `C-x C-f', the prompt you'll get starts in the
  607.      current buffer's default directory.  If this variable is `nil'
  608.      (which is the default), the default directory will be the default
  609.      directory of the buffer you were in when you started Gnus.
  610.  
  611. `gnus-verbose'
  612.      This variable is an integer between zero and ten.  The higher the
  613.      value, the more messages will be displayed.  If this variable is
  614.      zero, Gnus will never flash any messages, if it is seven (which is
  615.      the default), most important messages will be shown, and if it is
  616.      ten, Gnus won't ever shut up, but will flash so many messages it
  617.      will make your head swim.
  618.  
  619. `gnus-verbose-backends'
  620.      This variable works the same way as `gnus-verbose', but it applies
  621.      to the Gnus backends instead of Gnus proper.
  622.  
  623. `nnheader-max-head-length'
  624.      When the backends read straight heads of articles, they all try to
  625.      read as little as possible.  This variable (default 4096) specifies
  626.      the absolute max length the backends will try to read before
  627.      giving up on finding a separator line between the head and the
  628.      body.  If this variable is `nil', there is no upper read bound.
  629.      If it is `t', the backends won't try to read the articles piece by
  630.      piece, but read the entire articles.  This makes sense with some
  631.      versions of `ange-ftp' or `efs'.
  632.  
  633. `nnheader-head-chop-length'
  634.      This variable (default 2048) says how big a piece of each article
  635.      to read when doing the operation described above.
  636.  
  637. `nnheader-file-name-translation-alist'
  638.      This is an alist that says how to translate characters in file
  639.      names.  For instance, if `:' is illegal as a file character in
  640.      file names on your system (you OS/2 user you), you could say
  641.      something like:
  642.  
  643.           (setq nnheader-file-name-translation-alist
  644.                 '((?: . ?_)))
  645.  
  646.      In fact, this is the default value for this variable on OS/2 and MS
  647.      Windows (phooey) systems.
  648.  
  649. `gnus-hidden-properties'
  650.      This is a list of properties to use to hide "invisible" text.  It
  651.      is `(invisible t intangible t)' by default on most systems, which
  652.      makes invisible text invisible and intangible.
  653.  
  654. `gnus-parse-headers-hook'
  655.      A hook called before parsing headers.  It can be used, for
  656.      instance, to gather statistics on the headers fetched, or perhaps
  657.      you'd like to prune some headers.  I don't see why you'd want
  658.      that, though.
  659.  
  660. `gnus-shell-command-separator'
  661.      String used to separate two shell commands.  The default is `;'.
  662.  
  663. 
  664. File: gnus.info,  Node: The End,  Next: Appendices,  Prev: Various,  Up: Top
  665.  
  666. The End
  667. *******
  668.  
  669.    Well, that's the manual--you can get on with your life now.  Keep in
  670. touch.  Say hello to your cats from me.
  671.  
  672.    My *ghod*--I just can't stand goodbyes.  Sniffle.
  673.  
  674.    Ol' Charles Reznikoff said it pretty well, so I leave the floor to
  675. him:
  676.  
  677.      *Te Deum*
  678.  
  679.      Not because of victories
  680.      I sing,
  681.      having none,
  682.      but for the common sunshine,
  683.      the breeze,
  684.      the largess of the spring.
  685.  
  686.      Not for victory
  687.      but for the day's work done
  688.      as well as I was able;
  689.      not for a seat upon the dais
  690.      but at the common table.
  691.  
  692. 
  693. File: gnus.info,  Node: Appendices,  Next: Index,  Prev: The End,  Up: Top
  694.  
  695. Appendices
  696. **********
  697.  
  698. * Menu:
  699.  
  700. * History::                        How Gnus got where it is today.
  701. * Terminology::                    We use really difficult, like, words here.
  702. * Customization::                  Tailoring Gnus to your needs.
  703. * Troubleshooting::                What you might try if things do not work.
  704. * A Programmers Guide to Gnus::    Rilly, rilly technical stuff.
  705. * Emacs for Heathens::             A short introduction to Emacsian terms.
  706. * Frequently Asked Questions::     A question-and-answer session.
  707.  
  708. 
  709. File: gnus.info,  Node: History,  Next: Terminology,  Up: Appendices
  710.  
  711. History
  712. =======
  713.  
  714.    GNUS was written by Masanobu UMEDA.  When autumn crept up in '94,
  715. Lars Magne Ingebrigtsen grew bored and decided to rewrite Gnus.
  716.  
  717.    If you want to investigate the person responsible for this outrage,
  718. you can point your (feh!) web browser to
  719. `http://www.ifi.uio.no/~larsi/'.  This is also the primary distribution
  720. point for the new and spiffy versions of Gnus, and is known as The Site
  721. That Destroys Newsrcs And Drives People Mad.
  722.  
  723.    During the first extended alpha period of development, the new Gnus
  724. was called "(ding) Gnus".  "(ding)" is, of course, short for "ding is
  725. not Gnus", which is a total and utter lie, but who cares?  (Besides,
  726. the "Gnus" in this abbreviation should probably be pronounced "news" as
  727. UMEDA intended, which makes it a more appropriate name, don't you
  728. think?)
  729.  
  730.    In any case, after spending all that energy on coming up with a new
  731. and spunky name, we decided that the name was *too* spunky, so we
  732. renamed it back again to "Gnus".  But in mixed case.  "Gnus" vs.
  733. "GNUS".  New vs. old.
  734.  
  735.    The first "proper" release of Gnus 5 was done in November 1995 when
  736. it was included in the Emacs 19.30 distribution (132 (ding) Gnus
  737. releases plus 15 Gnus 5.0 releases).
  738.  
  739.    In May 1996 the next Gnus generation (aka. "September Gnus" (after 99
  740. releases)) was released under the name "Gnus 5.2" (40 releases).
  741.  
  742.    On July 28th 1996 work on Red Gnus was begun, and it was released on
  743. January 25th 1997 (after 84 releases) as "Gnus 5.4".
  744.  
  745.    If you happen upon a version of Gnus that has a prefixed name -
  746. "(ding) Gnus", "September Gnus", "Red Gnus", "Quassia Gnus" - don't
  747. panic.  Don't let it know that you're frightened.  Back away.  Slowly.
  748. Whatever you do, don't run.  Walk away, calmly, until you're out of its
  749. reach.  Find a proper released version of Gnus and snuggle up to that
  750. instead.
  751.  
  752. * Menu:
  753.  
  754. * Why?::                What's the point of Gnus?
  755. * Compatibility::       Just how compatible is Gnus with GNUS?
  756. * Conformity::          Gnus tries to conform to all standards.
  757. * Emacsen::             Gnus can be run on a few modern Emacsen.
  758. * Contributors::        Oodles of people.
  759. * New Features::        Pointers to some of the new stuff in Gnus.
  760. * Newest Features::     Features so new that they haven't been written yet.
  761.  
  762. 
  763. File: gnus.info,  Node: Why?,  Next: Compatibility,  Up: History
  764.  
  765. Why?
  766. ----
  767.  
  768.    What's the point of Gnus?
  769.  
  770.    I want to provide a "rad", "happening", "way cool" and "hep"
  771. newsreader, that lets you do anything you can think of.  That was my
  772. original motivation, but while working on Gnus, it has become clear to
  773. me that this generation of newsreaders really belong in the stone age.
  774. Newsreaders haven't developed much since the infancy of the net.  If the
  775. volume continues to rise with the current rate of increase, all current
  776. newsreaders will be pretty much useless.  How do you deal with
  777. newsgroups that have thousands of new articles each day?  How do you
  778. keep track of millions of people who post?
  779.  
  780.    Gnus offers no real solutions to these questions, but I would very
  781. much like to see Gnus being used as a testing ground for new methods of
  782. reading and fetching news.  Expanding on UMEDA-san's wise decision to
  783. separate the newsreader from the backends, Gnus now offers a simple
  784. interface for anybody who wants to write new backends for fetching mail
  785. and news from different sources.  I have added hooks for customizations
  786. everywhere I could imagine it being useful.  By doing so, I'm inviting
  787. every one of you to explore and invent.
  788.  
  789.    May Gnus never be complete. `C-u 100 M-x all-hail-emacs' and `C-u
  790. 100 M-x all-hail-xemacs'.
  791.  
  792. 
  793. File: gnus.info,  Node: Compatibility,  Next: Conformity,  Prev: Why?,  Up: History
  794.  
  795. Compatibility
  796. -------------
  797.  
  798.    Gnus was designed to be fully compatible with GNUS.  Almost all key
  799. bindings have been kept.  More key bindings have been added, of course,
  800. but only in one or two obscure cases have old bindings been changed.
  801.  
  802.    Our motto is:
  803.                          In a cloud bones of steel.
  804.  
  805.  
  806.    All commands have kept their names.  Some internal functions have
  807. changed their names.
  808.  
  809.    The `gnus-uu' package has changed drastically. *Note Decoding
  810. Articles::.
  811.  
  812.    One major compatibility question is the presence of several summary
  813. buffers.  All variables relevant while reading a group are buffer-local
  814. to the summary buffer they belong in.  Although many important
  815. variables have their values copied into their global counterparts
  816. whenever a command is executed in the summary buffer, this change might
  817. lead to incorrect values being used unless you are careful.
  818.  
  819.    All code that relies on knowledge of GNUS internals will probably
  820. fail.  To take two examples: Sorting `gnus-newsrc-alist' (or changing
  821. it in any way, as a matter of fact) is strictly verboten.  Gnus
  822. maintains a hash table that points to the entries in this alist (which
  823. speeds up many functions), and changing the alist directly will lead to
  824. peculiar results.
  825.  
  826.    Old hilit19 code does not work at all.  In fact, you should probably
  827. remove all hilit code from all Gnus hooks (`gnus-group-prepare-hook'
  828. and `gnus-summary-prepare-hook').  Gnus provides various integrated
  829. functions for highlighting.  These are faster and more accurate.  To
  830. make life easier for everybody, Gnus will by default remove all hilit
  831. calls from all hilit hooks.  Uncleanliness!  Away!
  832.  
  833.    Packages like `expire-kill' will no longer work.  As a matter of
  834. fact, you should probably remove all old GNUS packages (and other code)
  835. when you start using Gnus.  More likely than not, Gnus already does
  836. what you have written code to make GNUS do.  (Snicker.)
  837.  
  838.    Even though old methods of doing things are still supported, only the
  839. new methods are documented in this manual.  If you detect a new method
  840. of doing something while reading this manual, that does not mean you
  841. have to stop doing it the old way.
  842.  
  843.    Gnus understands all GNUS startup files.
  844.  
  845.    Overall, a casual user who hasn't written much code that depends on
  846. GNUS internals should suffer no problems.  If problems occur, please
  847. let me know by issuing that magic command `M-x gnus-bug'.
  848.  
  849. 
  850. File: gnus.info,  Node: Conformity,  Next: Emacsen,  Prev: Compatibility,  Up: History
  851.  
  852. Conformity
  853. ----------
  854.  
  855.    No rebels without a clue here, ma'am.  We conform to all standards
  856. known to (wo)man.  Except for those standards and/or conventions we
  857. disagree with, of course.
  858.  
  859. *RFC 822*
  860.      There are no known breaches of this standard.
  861.  
  862. *RFC 1036*
  863.      There are no known breaches of this standard, either.
  864.  
  865. *Good Net-Keeping Seal of Approval*
  866.      Gnus has been through the Seal process and failed.  I think it'll
  867.      pass the next inspection.
  868.  
  869. *Son-of-RFC 1036*
  870.      We do have some breaches to this one.
  871.  
  872.     *MIME*
  873.           Gnus does no MIME handling, and this standard-to-be seems to
  874.           think that MIME is the bees' knees, so we have major breakage
  875.           here.
  876.  
  877.     *X-Newsreader*
  878.           This is considered to be a "vanity header", while I consider
  879.           it to be consumer information.  After seeing so many badly
  880.           formatted articles coming from `tin' and `Netscape' I know
  881.           not to use either of those for posting articles.  I would not
  882.           have known that if it wasn't for the `X-Newsreader' header.
  883.  
  884.    If you ever notice Gnus acting non-compliant with regards to the
  885. texts mentioned above, don't hesitate to drop a note to Gnus Towers and
  886. let us know.
  887.  
  888. 
  889. File: gnus.info,  Node: Emacsen,  Next: Contributors,  Prev: Conformity,  Up: History
  890.  
  891. Emacsen
  892. -------
  893.  
  894.    Gnus should work on :
  895.  
  896.    * Emacs 19.32 and up.
  897.  
  898.    * XEmacs 19.14 and up.
  899.  
  900.    * Mule versions based on Emacs 19.32 and up.
  901.  
  902.    Gnus will absolutely not work on any Emacsen older than that.  Not
  903. reliably, at least.
  904.  
  905.    There are some vague differences between Gnus on the various
  906. platforms--XEmacs features more graphics (a logo and a toolbar)--but
  907. other than that, things should look pretty much the same under all
  908. Emacsen.
  909.  
  910. 
  911. File: gnus.info,  Node: Contributors,  Next: New Features,  Prev: Emacsen,  Up: History
  912.  
  913. Contributors
  914. ------------
  915.  
  916.    The new Gnus version couldn't have been done without the help of all
  917. the people on the (ding) mailing list.  Every day for over a year I have
  918. gotten billions of nice bug reports from them, filling me with joy,
  919. every single one of them.  Smooches.  The people on the list have been
  920. tried beyond endurance, what with my "oh, that's a neat idea <type
  921. type>, yup, I'll release it right away <ship off> no wait, that doesn't
  922. work at all <type type>, yup, I'll ship that one off right away <ship
  923. off> no, wait, that absolutely does not work" policy for releases.
  924. Micro$oft--bah.  Amateurs.  I'm *much* worse.  (Or is that "worser"?
  925. "much worser"?  "worsest"?)
  926.  
  927.    I would like to take this opportunity to thank the Academy for...
  928. oops, wrong show.
  929.  
  930.    * Masanobu UMEDA--the writer of the original GNUS.
  931.  
  932.    * Per Abrahamsen--custom, scoring, highlighting and SOUP code (as
  933.      well as numerous other things).
  934.  
  935.    * Luis Fernandes--design and graphics.
  936.  
  937.    * Erik Naggum--help, ideas, support, code and stuff.
  938.  
  939.    * Wes Hardaker--`gnus-picon.el' and the manual section on "picons"
  940.      (*note Picons::.).
  941.  
  942.    * Kim-Minh Kaplan--further work on the picon code.
  943.  
  944.    * Brad Miller--`gnus-gl.el' and the GroupLens manual section (*note
  945.      GroupLens::.).
  946.  
  947.    * Sudish Joseph--innumerable bug fixes.
  948.  
  949.    * Ilja Weis--`gnus-topic.el'.
  950.  
  951.    * Steven L. Baur--lots and lots and lots of bugs detections and
  952.      fixes.
  953.  
  954.    * Vladimir Alexiev--the refcard and reference booklets.
  955.  
  956.    * Felix Lee & Jamie Zawinsky--I stole some pieces from the XGnus
  957.      distribution by Felix Lee and JWZ.
  958.  
  959.    * Scott Byer--`nnfolder.el' enhancements & rewrite.
  960.  
  961.    * Peter Mutsaers--orphan article scoring code.
  962.  
  963.    * Ken Raeburn--POP mail support.
  964.  
  965.    * Hallvard B Furuseth--various bits and pieces, especially dealing
  966.      with .newsrc files.
  967.  
  968.    * Brian Edmonds--`gnus-bbdb.el'.
  969.  
  970.    * David Moore--rewrite of `nnvirtual.el' and many other things.
  971.  
  972.    * Kevin Davidson--came up with the name "ding", so blame him.
  973.  
  974.    * Franτois Pinard--many, many interesting and thorough bug reports.
  975.  
  976.    This manual was proof-read by Adrian Aichner, with Ricardo Nassif,
  977. Mark Borges, and Jost Krieger proof-reading parts of the manual.
  978.  
  979.    The following people have contributed many patches and suggestions:
  980.  
  981.    Christopher Davis, Andrew Eskilsson, Kai Grossjohann, David Kσgedal,
  982. Richard Pieri, Fabrice Popineau, Daniel Quinlan, Jason L. Tibbitts, III,
  983. and Jack Vinson.
  984.  
  985.    Also thanks to the following for patches and stuff:
  986.  
  987.    Adrian Aichner, Peter Arius, Matt Armstrong, Marc Auslander, Chris
  988. Bone, Mark Borges, Lance A. Brown, Kees de Bruin, Martin Buchholz,
  989. Kevin Buhr, Alastair Burt, Joao Cachopo, Zlatko Calusic, Massimo
  990. Campostrini, Dan Christensen, Michael R. Cook, Glenn Coombs, Frank D.
  991. Cringle, Geoffrey T. Dairiki, Andre Deparade, Ulrik Dickow, Dave Disser,
  992. Joev Dubach, Michael Welsh Duggan, Paul Eggert, Michael Ernst, Luc Van
  993. Eycken, Sam Falkner, Paul Franklin, Guy Geens, Arne Georg Gleditsch,
  994. David S. Goldberg, D. Hall, Magnus Hammerin, Raja R. Harinath,
  995. Hisashige Kenji, Marc Horowitz, Gunnar Horrigmo, Brad Howes, Franτois
  996. Felix Ingrand, Ishikawa Ichiro, Lee Iverson, Rajappa Iyer, Randell
  997. Jesup, Fred Johansen, Greg Klanderman, Karl Kleinpaste, Peter Skov
  998. Knudsen, Shuhei Kobayashi, Thor Kristoffersen, Jens Lautenbacher,
  999. Carsten Leonhardt, James LewisMoss, Christian Limpach, Markus Linnala,
  1000. Dave Love, Tonny Madsen, Shlomo Mahlab, Nat Makarevitch, David Martin,
  1001. Gordon Matzigkeit, Timo Metzemakers, Richard Mlynarik, Lantz Moore,
  1002. Morioka Tomohiko, Erik Toubro Nielsen, Hrvoje Niksic, Andy Norman, C.
  1003. R. Oldham, Alexandre Oliva, Ken Olstad, Masaharu Onishi, Hideki Ono,
  1004. William Perry, Stephen Peters, Ulrich Pfeifer, John McClary Prevost,
  1005. Colin Rafferty, Bart Robinson, Jason Rumney, Dewey M. Sasser, Loren
  1006. Schall, Dan Schmidt, Ralph Schleicher, Philippe Schnoebelen, Randal L.
  1007. Schwartz, Danny Siu, Paul D. Smith, Jeff Sparkes, Toby Speight, Michael
  1008. Sperber, Darren Stalder, Richard Stallman, Greg Stark, Paul Stodghill,
  1009. Kurt Swanson, Samuel Tardieu, Teddy, Chuck Thompson, Philippe Troin,
  1010. Aaron M. Ucko, Jan Vroonhof, Barry A. Warsaw, Christoph Wedler, Joe
  1011. Wells, and Katsumi Yamaoka.  For a full overview of what each person
  1012. has done, the ChangeLogs included in the Gnus alpha distributions
  1013. should give ample reading (550kB and counting).
  1014.  
  1015.    Apologies to everybody that I've forgotten, of which there are many,
  1016. I'm sure.
  1017.  
  1018.    Gee, that's quite a list of people.  I guess that must mean that
  1019. there actually are people who are using Gnus.  Who'd'a thunk it!
  1020.  
  1021. 
  1022. File: gnus.info,  Node: New Features,  Next: Newest Features,  Prev: Contributors,  Up: History
  1023.  
  1024. New Features
  1025. ------------
  1026.  
  1027. * Menu:
  1028.  
  1029. * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
  1030. * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
  1031. * Red Gnus::           Third time best--Gnus 5.4/5.5.
  1032.  
  1033.    These lists are, of course, just *short* overviews of the *most*
  1034. important new features.  No, really.  There are tons more.  Yes, we
  1035. have feeping creaturism in full effect.
  1036.  
  1037. 
  1038. File: gnus.info,  Node: ding Gnus,  Next: September Gnus,  Up: New Features
  1039.  
  1040. (ding) Gnus
  1041. ...........
  1042.  
  1043.    New features in Gnus 5.0/5.1:
  1044.  
  1045.    * The look of all buffers can be changed by setting format-like
  1046.      variables (*note Group Buffer Format::. and *note Summary Buffer
  1047.      Format::.).
  1048.  
  1049.    * Local spool and several NNTP servers can be used at once (*note
  1050.      Select Methods::.).
  1051.  
  1052.    * You can combine groups into virtual groups (*note Virtual
  1053.      Groups::.).
  1054.  
  1055.    * You can read a number of different mail formats (*note Getting
  1056.      Mail::.).  All the mail backends implement a convenient mail
  1057.      expiry scheme (*note Expiring Mail::.).
  1058.  
  1059.    * Gnus can use various strategies for gathering threads that have
  1060.      lost their roots (thereby gathering loose sub-threads into one
  1061.      thread) or it can go back and retrieve enough headers to build a
  1062.      complete thread (*note Customizing Threading::.).
  1063.  
  1064.    * Killed groups can be displayed in the group buffer, and you can
  1065.      read them as well (*note Listing Groups::.).
  1066.  
  1067.    * Gnus can do partial group updates--you do not have to retrieve the
  1068.      entire active file just to check for new articles in a few groups
  1069.      (*note The Active File::.).
  1070.  
  1071.    * Gnus implements a sliding scale of subscribedness to groups (*note
  1072.      Group Levels::.).
  1073.  
  1074.    * You can score articles according to any number of criteria (*note
  1075.      Scoring::.).  You can even get Gnus to find out how to score
  1076.      articles for you (*note Adaptive Scoring::.).
  1077.  
  1078.    * Gnus maintains a dribble buffer that is auto-saved the normal Emacs
  1079.      manner, so it should be difficult to lose much data on what you
  1080.      have read if your machine should go down (*note Auto Save::.).
  1081.  
  1082.    * Gnus now has its own startup file (`.gnus') to avoid cluttering up
  1083.      the `.emacs' file.
  1084.  
  1085.    * You can set the process mark on both groups and articles and
  1086.      perform operations on all the marked items (*note
  1087.      Process/Prefix::.).
  1088.  
  1089.    * You can grep through a subset of groups and create a group from the
  1090.      results (*note Kibozed Groups::.).
  1091.  
  1092.    * You can list subsets of groups according to, well, anything (*note
  1093.      Listing Groups::.).
  1094.  
  1095.    * You can browse foreign servers and subscribe to groups from those
  1096.      servers (*note Browse Foreign Server::.).
  1097.  
  1098.    * Gnus can fetch articles, asynchronously, on a second connection to
  1099.      the server (*note Asynchronous Fetching::.).
  1100.  
  1101.    * You can cache articles locally (*note Article Caching::.).
  1102.  
  1103.    * The uudecode functions have been expanded and generalized (*note
  1104.      Decoding Articles::.).
  1105.  
  1106.    * You can still post uuencoded articles, which was a little-known
  1107.      feature of GNUS' past (*note Uuencoding and Posting::.).
  1108.  
  1109.    * Fetching parents (and other articles) now actually works without
  1110.      glitches (*note Finding the Parent::.).
  1111.  
  1112.    * Gnus can fetch FAQs and group descriptions (*note Group
  1113.      Information::.).
  1114.  
  1115.    * Digests (and other files) can be used as the basis for groups
  1116.      (*note Document Groups::.).
  1117.  
  1118.    * Articles can be highlighted and customized (*note Customizing
  1119.      Articles::.).
  1120.  
  1121.    * URLs and other external references can be buttonized (*note
  1122.      Article Buttons::.).
  1123.  
  1124.    * You can do lots of strange stuff with the Gnus window & frame
  1125.      configuration (*note Windows Configuration::.).
  1126.  
  1127.    * You can click on buttons instead of using the keyboard (*note
  1128.      Buttons::.).
  1129.  
  1130. 
  1131. File: gnus.info,  Node: September Gnus,  Next: Red Gnus,  Prev: ding Gnus,  Up: New Features
  1132.  
  1133. September Gnus
  1134. ..............
  1135.  
  1136.    New features in Gnus 5.2/5.3:
  1137.  
  1138.    * A new message composition mode is used.  All old customization
  1139.      variables for `mail-mode', `rnews-reply-mode' and `gnus-msg' are
  1140.      now obsolete.
  1141.  
  1142.    * Gnus is now able to generate "sparse" threads--threads where
  1143.      missing articles are represented by empty nodes (*note Customizing
  1144.      Threading::.).
  1145.  
  1146.           (setq gnus-build-sparse-threads 'some)
  1147.  
  1148.    * Outgoing articles are stored on a special archive server (*note
  1149.      Archived Messages::.).
  1150.  
  1151.    * Partial thread regeneration now happens when articles are referred.
  1152.  
  1153.    * Gnus can make use of GroupLens predictions (*note GroupLens::.).
  1154.  
  1155.    * Picons (personal icons) can be displayed under XEmacs (*note
  1156.      Picons::.).
  1157.  
  1158.    * A `trn'-like tree buffer can be displayed (*note Tree Display::.).
  1159.  
  1160.           (setq gnus-use-trees t)
  1161.  
  1162.    * An `nn'-like pick-and-read minor mode is available for the summary
  1163.      buffers (*note Pick and Read::.).
  1164.  
  1165.           (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode)
  1166.  
  1167.    * In binary groups you can use a special binary minor mode (*note
  1168.      Binary Groups::.).
  1169.  
  1170.    * Groups can be grouped in a folding topic hierarchy (*note Group
  1171.      Topics::.).
  1172.  
  1173.           (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
  1174.  
  1175.    * Gnus can re-send and bounce mail (*note Summary Mail Commands::.).
  1176.  
  1177.    * Groups can now have a score, and bubbling based on entry frequency
  1178.      is possible (*note Group Score::.).
  1179.  
  1180.           (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group)
  1181.  
  1182.    * Groups can be process-marked, and commands can be performed on
  1183.      groups of groups (*note Marking Groups::.).
  1184.  
  1185.    * Caching is possible in virtual groups.
  1186.  
  1187.    * `nndoc' now understands all kinds of digests, mail boxes, rnews
  1188.      news batches, ClariNet briefs collections, and just about
  1189.      everything else (*note Document Groups::.).
  1190.  
  1191.    * Gnus has a new backend (`nnsoup') to create/read SOUP packets
  1192.      (*note SOUP::.).
  1193.  
  1194.    * The Gnus cache is much faster.
  1195.  
  1196.    * Groups can be sorted according to many criteria (*note Sorting
  1197.      Groups::.).
  1198.  
  1199.    * New group parameters have been introduced to set list-addresses and
  1200.      expiry times (*note Group Parameters::.).
  1201.  
  1202.    * All formatting specs allow specifying faces to be used (*note
  1203.      Formatting Fonts::.).
  1204.  
  1205.    * There are several more commands for setting/removing/acting on
  1206.      process marked articles on the `M P' submap (*note Setting Process
  1207.      Marks::.).
  1208.  
  1209.    * The summary buffer can be limited to show parts of the available
  1210.      articles based on a wide range of criteria.  These commands have
  1211.      been bound to keys on the `/' submap (*note Limiting::.).
  1212.  
  1213.    * Articles can be made persistent with the `*' command (*note
  1214.      Persistent Articles::.).
  1215.  
  1216.    * All functions for hiding article elements are now toggles.
  1217.  
  1218.    * Article headers can be buttonized (*note Article Washing::.).
  1219.  
  1220.           (add-hook 'gnus-article-display-hook
  1221.                     'gnus-article-add-buttons-to-head)
  1222.  
  1223.    * All mail backends support fetching articles by `Message-ID'.
  1224.  
  1225.    * Duplicate mail can now be treated properly (*note Duplicates::.).
  1226.  
  1227.    * All summary mode commands are available directly from the article
  1228.      buffer (*note Article Keymap::.).
  1229.  
  1230.    * Frames can be part of `gnus-buffer-configuration' (*note Windows
  1231.      Configuration::.).
  1232.  
  1233.    * Mail can be re-scanned by a daemonic process (*note Daemons::.).
  1234.  
  1235.    * Gnus can make use of NoCeM files to weed out spam (*note NoCeM::.).
  1236.  
  1237.           (setq gnus-use-nocem t)
  1238.  
  1239.    * Groups can be made permanently visible (*note Listing Groups::.).
  1240.  
  1241.           (setq gnus-permanently-visible-groups "^nnml:")
  1242.  
  1243.    * Many new hooks have been introduced to make customizing easier.
  1244.  
  1245.    * Gnus respects the `Mail-Copies-To' header.
  1246.  
  1247.    * Threads can be gathered by looking at the `References' header
  1248.      (*note Customizing Threading::.).
  1249.  
  1250.           (setq gnus-summary-thread-gathering-function
  1251.                 'gnus-gather-threads-by-references)
  1252.  
  1253.    * Read articles can be stored in a special backlog buffer to avoid
  1254.      refetching (*note Article Backlog::.).
  1255.  
  1256.           (setq gnus-keep-backlog 50)
  1257.  
  1258.    * A clean copy of the current article is always stored in a separate
  1259.      buffer to allow easier treatment.
  1260.  
  1261.    * Gnus can suggest where to save articles (*note Saving Articles::.).
  1262.  
  1263.    * Gnus doesn't have to do as much prompting when saving (*note
  1264.      Saving Articles::.).
  1265.  
  1266.           (setq gnus-prompt-before-saving t)
  1267.  
  1268.    * `gnus-uu' can view decoded files asynchronously while fetching
  1269.      articles (*note Other Decode Variables::.).
  1270.  
  1271.           (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view)
  1272.  
  1273.    * Filling in the article buffer now works properly on cited text
  1274.      (*note Article Washing::.).
  1275.  
  1276.    * Hiding cited text adds buttons to toggle hiding, and how much
  1277.      cited text to hide is now customizable (*note Article Hiding::.).
  1278.  
  1279.           (setq gnus-cited-lines-visible 2)
  1280.  
  1281.    * Boring headers can be hidden (*note Article Hiding::.).
  1282.  
  1283.           (add-hook 'gnus-article-display-hook
  1284.                     'gnus-article-hide-boring-headers t)
  1285.  
  1286.    * Default scoring values can now be set from the menu bar.
  1287.  
  1288.    * Further syntax checking of outgoing articles have been added.
  1289.  
  1290.